package com.example.rabc.monitor;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.Date;

/**
 * 日志记录处理器，将监控事件记录到日志中
 */
@Component
public class LoggingProcessor implements MonitorObserver {
    private static final Logger logger = LoggerFactory.getLogger(LoggingProcessor.class);

    /**
     * 处理监控事件，将其记录到日志中
     * @param event 监控事件
     */
    @Override
    public void update(MonitorEvent event) {
        logger.info("Monitor Event - Type: {}, Timestamp: {}, Data: {}", 
                   event.getEventType(), 
                   new Date(event.getTimestamp()), 
                   event.getData());
    }

    /**
     * 判断是否支持处理指定类型的事件
     * @param eventType 事件类型
     * @return 是否支持
     */
    @Override
    public boolean supportsEventType(String eventType) {
        // 支持所有事件类型
        return true;
    }
}